const changePositionTime = 1000
const changeColorTime = 200
const boxlegth = 137 // 货物（托盘）边长
const hoverY = 50 // 悬停Y轴偏移
/** 获取模式对应的颜色
 * @param {*} mode  模式
 * @returns  颜色字符
 */
export function GetModeColor(mode) {
  let color = '#999'
  switch (mode) {
    case 1:
      color = '#67C23A'
      break
    case 2:
      color = '#0ff'
      break
    case 3:
      color = '#409EFF'
      break
    case 4:
      color = '#F56C6C'
      break
    case 5:
      color = '#E6A23C'
      break
    default:
      break
  }
  return color
}

/** 获取模式的中文 */
export function GetModeMappingData(value) {
  switch (value) {
    case 1:
      return '自动中'
    case 2:
      return '手动中'
    case 3:
      return '停止中'
    case 4:
      return '异常中'
    case 5:
      return '维护中'
    case 0:
    default:
      return '无数据'
  }
}

/** 设置Svg标签的样式*/
export function SetSvgStyle() {
  // const svgDom = document.getElementsByTagName('svg')[0]
  // svgDom.setAttribute(
  //   'style',
  //   svgDom.getAttribute('style') + ';height: 100%;width: 100%;margin-right:%;'
  // )
}

/** 颜色变换动画
 *
 * @param {*} el 变化对象
 * @param {*} color 变换的颜色
 */
export function DoColorAnimate(el, color) {
  el.animate({ fill: color }, changeColorTime)
}

/** 位置变换动画
 *
 * @param {*} el 变化的对象
 * @param {*} matrix 变化矩阵
 */
export function DoPositionAnimate(el, matrix) {
  el.animate({ transform: matrix }, changePositionTime)
}
/** 获取设备位置尺寸
 * @param {Elememt} device 设备对象
 * @returns
 */
export function GetDeviceAppearance(device) {
  // const margin = 45
  const x = device.node.x.baseVal.value
  const y = device.node.y.baseVal.value
  const width = device.node.width.baseVal.value
  const height = device.node.height.baseVal.value
  let pos = null
  pos = { x: x + width / 2 - boxlegth / 2, y: y + height / 2 - boxlegth / 2 }
  return {
    pos,
    size: boxlegth
  }
}

/** 获取元素右上角坐标
 * @param {*} el  Element
 * @returns \{x,y}
 */
export function GetElementRightTop(el) {
  return {
    x: el.node.x.baseVal.value + el.node.width.baseVal.value,
    y: el.node.y.baseVal.value + hoverY
  }
}
